/***************************************
 * 说明：本文件主要列举课后习题
 * *************************************/
#include <iostream>
#include "test.h"
using namespace std;

/*************************************************
 * 习题2.2：改写例子2.1，使其1：将数据改为私有的。2：
 * 将输入输出改为成员函数实现。3：在类体内定义成员函数
 * ***********************************************/
void exercise2()
{
    Time time;
    time.set_time();
    time.show_time();
}
/*************************************************
 * 习题2.3：改写例子2.2，使其在类内声明成员函数，
 * 在类外定义成员函数
 * ***********************************************/
void Time::set_time()
{
    cin >> hour;
    cin >> minute;
    cin >> second;
}
void Time::show_time()
{
    cout << hour << ":" << minute << ":" << second << endl;
}
void exercise3()
{
    Time time;
    time.set_time();
    time.show_time();
}
/*************************************************
 * 习题2.4：将例题2.3.3中的Student类增加一个对数据成员
 * 赋初始值的函数
 * ***********************************************/
void Student::set_value()
{
    cin >> num;
    cin >> name;
    cin >> sex;
}
void Student::display()
{
    cout << "num = " << num << endl;
    cout << "name = " << name << endl;
    cout << "sex = " << sex << endl;
}
void exercise4()
{
    Student stu1;
    stu1.set_value();
    stu1.display();
}

/*************************************************
 * 习题2.5：求3个长方体的体积，编写一个基于面向对象的程序，
 * 输入长方体的长宽高，并输出体积
 * ***********************************************/
void Box::set_item()
{
    cin >> len;
    cin >> width;
    cin >> high;
}
void Box::comp_volume()
{
    volume = len * width * high;
}
int Box::get_volume()
{
    cout << volume << endl;
}
void exercise5()
{
    Box b1;
    b1.set_item();
    b1.comp_volume();
    b1.get_volume();
    Box b2;
    b2.set_item();
    b2.comp_volume();
    b2.get_volume();
    Box b3;
    b3.set_item();
    b3.comp_volume();
    b3.get_volume();
}
int main()
{
    exercise5();
}